
#include "DriverStation.h"

#ifndef _CAMERA_LIB_OBJECTS_H
#define _CAMERA_LIB_OBJECTS_H

namespace CameraLib {

enum MyOrder {PINKGREEN, GREENPINK};

class Object {
protected:
	float m_x, m_y, m_width, m_height;
public:
	Object::Object(float x, float y, float width, float height);
	Object::Object();
	Object::~Object();
	float Object::GetX() {return m_x;}
	float Object::GetY() {return m_y;}
	float Object::GetWidth() {return m_width;}
	float Object::GetHeight() {return m_height;}
	float Object::GetArea() {return m_width * m_height;}
	float Object::GetAngle();
	float Object::GetDistance();
	float Object::GetDistanceFrom(Object oth);
	void Object::print();
};

class Flag : public Object {
	Object *m_partOne, *m_partTwo;
	MyOrder m_me, m_them;
public:
	Flag::Flag(Object partOne, Object partTwo, MyOrder me, MyOrder them);
	Flag::Flag();
	float Flag::GetDistance();
	float Flag::GetArea() {return m_partOne->GetArea() + m_partTwo->GetArea();}
	bool IsFriend() {return m_me == m_them;}
	bool IsEnemy() {return m_me != m_them;}
	void Flag::print();
};

}
#endif
